@@ -0,0 +1,3 @@  | 
            ||
| 1 | 
                +{
               | 
            |
| 2 | 
                + "python.formatting.provider": "none"  | 
            |
| 3 | 
                +}  | 
            
                @@ -233,6 +233,8 @@ class UserInfo(BaseModelMixin, LensmanTypeBoolMixin):  | 
            ||
| 233 | 233 | 
                 | 
            
| 234 | 234 | 
                         return {
               | 
            
| 235 | 235 | 
                'has_unionid': bool(self.unionid),  | 
            
| 236 | 
                + 'unionid': self.unionid,  | 
            |
| 237 | 
                + 'openid': self.openid,  | 
            |
| 236 | 238 | 
                'user_id': self.user_id,  | 
            
| 237 | 239 | 
                'name': self.name,  | 
            
| 238 | 240 | 
                'username': self.username,  | 
            
                @@ -0,0 +1,75 @@  | 
            ||
| 1 | 
                +# -*- coding: utf-8 -*-  | 
            |
| 2 | 
                +  | 
            |
| 3 | 
                +from __future__ import division  | 
            |
| 4 | 
                +  | 
            |
| 5 | 
                +from django.conf import settings  | 
            |
| 6 | 
                +from django.db import transaction  | 
            |
| 7 | 
                +from django_logit import logit  | 
            |
| 8 | 
                +from django_response import response  | 
            |
| 9 | 
                +from paginator import pagination  | 
            |
| 10 | 
                +  | 
            |
| 11 | 
                +from mch.models import BrandInfo, DistributorInfo, SaleclerkInfo  | 
            |
| 12 | 
                +from utils.error.errno_utils import ProductDistributorStatusCode, SaleclerkStatusCode  | 
            |
| 13 | 
                +  | 
            |
| 14 | 
                +  | 
            |
| 15 | 
                +@logit  | 
            |
| 16 | 
                +def distributor_list(request):  | 
            |
| 17 | 
                +    page = request.POST.get('page', 1)
               | 
            |
| 18 | 
                +    num = request.POST.get('num', 20)
               | 
            |
| 19 | 
                +  | 
            |
| 20 | 
                +    distributors = DistributorInfo.objects.filter(status=True).order_by('distributor_name')
               | 
            |
| 21 | 
                + count = distributors.count()  | 
            |
| 22 | 
                + distributors, left = pagination(distributors, page, num)  | 
            |
| 23 | 
                + distributors = [distributor.admindata for distributor in distributors]  | 
            |
| 24 | 
                +  | 
            |
| 25 | 
                +    return response(200, 'Get Distributor List Success', u'获取经销商列表成功', {
               | 
            |
| 26 | 
                + 'distributors': distributors,  | 
            |
| 27 | 
                + 'count': count,  | 
            |
| 28 | 
                + 'left': left,  | 
            |
| 29 | 
                + })  | 
            |
| 30 | 
                +  | 
            |
| 31 | 
                +@logit  | 
            |
| 32 | 
                +def salesman_detail(request):  | 
            |
| 33 | 
                +  user_id = request.POST.get('user_id', '')
               | 
            |
| 34 | 
                +  | 
            |
| 35 | 
                + try:  | 
            |
| 36 | 
                + salesman = SaleclerkInfo.objects.get(user_id=user_id, status=True)  | 
            |
| 37 | 
                + except SaleclerkInfo.DoesNotExist:  | 
            |
| 38 | 
                + return response(SaleclerkStatusCode.CLERK_NOT_FOUND)  | 
            |
| 39 | 
                +  | 
            |
| 40 | 
                + return response(200, 'Get Salesman Detail Success', u'获取销售员信息成功', data=salesman.data)  | 
            |
| 41 | 
                +  | 
            |
| 42 | 
                +  | 
            |
| 43 | 
                +@logit  | 
            |
| 44 | 
                +@transaction.atomic  | 
            |
| 45 | 
                +def salesman_register(request):  | 
            |
| 46 | 
                + """ 店员授权信息提交 """  | 
            |
| 47 | 
                +    user_id = request.POST.get('user_id', '')
               | 
            |
| 48 | 
                +    brand_id = request.POST.get('brand_id') or settings.KODO_DEFAULT_BRAND_ID
               | 
            |
| 49 | 
                +    distributor_id = request.POST.get('distributor_id', '')
               | 
            |
| 50 | 
                +    unionid = request.POST.get('unionid', '')
               | 
            |
| 51 | 
                +    openid = request.POST.get('openid', '')
               | 
            |
| 52 | 
                +    phone = request.POST.get('phone', '')
               | 
            |
| 53 | 
                +  | 
            |
| 54 | 
                + if SaleclerkInfo.objects.filter(clerk_phone=phone).exclude(unionid=unionid).exists():  | 
            |
| 55 | 
                + return response(SaleclerkStatusCode.CLERK_PHONE_ALREADY_EXISTS)  | 
            |
| 56 | 
                +  | 
            |
| 57 | 
                + try:  | 
            |
| 58 | 
                + distributor = DistributorInfo.objects.get(distributor_id=distributor_id)  | 
            |
| 59 | 
                + except DistributorInfo.DoesNotExist:  | 
            |
| 60 | 
                + return response(ProductDistributorStatusCode.DISTRIBUTOR_NOT_FOUND)  | 
            |
| 61 | 
                +  | 
            |
| 62 | 
                +    fields = {
               | 
            |
| 63 | 
                + 'distributor_id': distributor_id,  | 
            |
| 64 | 
                + 'user_id': user_id,  | 
            |
| 65 | 
                + 'distributor_name': distributor.distributor_name,  | 
            |
| 66 | 
                +        'clerk_name': request.POST.get('name', ''),
               | 
            |
| 67 | 
                +        'clerk_sex': int(request.POST.get('sex', 1)),
               | 
            |
| 68 | 
                + 'clerk_phone': phone,  | 
            |
| 69 | 
                + 'openid': openid,  | 
            |
| 70 | 
                + 'user_status': SaleclerkInfo.UNVERIFIED,  | 
            |
| 71 | 
                + }  | 
            |
| 72 | 
                +  | 
            |
| 73 | 
                + clerk, _ = SaleclerkInfo.objects.update_or_create(brand_id=brand_id, unionid=unionid, defaults=fields)  | 
            |
| 74 | 
                +  | 
            |
| 75 | 
                +    return response(200, 'Submit Success', u'提交成功', {})
               | 
            
                @@ -6,7 +6,7 @@ from django_file_upload import views as file_views  | 
            ||
| 6 | 6 | 
                from api import (admin_views, clerk_views, complement_views, distributor_views, encrypt_views, express_views, log_views,  | 
            
| 7 | 7 | 
                maintenance_point_views, maintenance_views, mch_views, member_views, model_views, operator_views,  | 
            
| 8 | 8 | 
                refresh_views, sr_views, staff_views, tenancy_admin_views, tenancy_views, tencentcloud_views, wx_views,  | 
            
| 9 | 
                - wxa_views, consumer_admin_view)  | 
            |
| 9 | 
                + wxa_views, consumer_admin_view, salesman_mp_views)  | 
            |
| 10 | 10 | 
                from miniapp import qy_views  | 
            
| 11 | 11 | 
                from miniapp import views as mini_views  | 
            
| 12 | 12 | 
                from page import oauth_views, sale_views, screen_views  | 
            
                @@ -277,6 +277,13 @@ urlpatterns += [  | 
            ||
| 277 | 277 | 
                url(r'^admin/complement/code/contacted$', admin_views.complement_code_contacted, name='complement_code_contacted'),  | 
            
| 278 | 278 | 
                ]  | 
            
| 279 | 279 | 
                 | 
            
| 280 | 
                +#销售员  | 
            |
| 281 | 
                +urlpatterns += [  | 
            |
| 282 | 
                + url(r'^mp/distributor/list$', salesman_mp_views.distributor_list, name='mp_distributor_list'),  | 
            |
| 283 | 
                + url(r'^mp/salesman/register$', salesman_mp_views.salesman_register, name='mp_salesman_register'),  | 
            |
| 284 | 
                + url(r'^mp/salesman/detail$', salesman_mp_views.salesman_detail, name='mp_salesman_detail'),  | 
            |
| 285 | 
                +]  | 
            |
| 286 | 
                +  | 
            |
| 280 | 287 | 
                # 维修点  | 
            
| 281 | 288 | 
                urlpatterns += [  | 
            
| 282 | 289 | 
                url(r'^maintenance/point/add$', maintenance_point_views.maintenance_point_add, name='maintenance_point_add'),  |